home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MIDICraft's MIDINET CD-ROM
/
MIDICraft's MIDINET CD-ROM.iso
/
DOSUTILS
/
MIDICUT.DOC
< prev
next >
Wrap
Text File
|
1997-01-11
|
5KB
|
135 lines
******************************
MIDICUT v1.0
cut part of midi file
by Guenter Nagler
1997
(gnagler@ihm.tu-graz.ac.at)
******************************
[0] FEATURES
+ reads a binary midi file
+ writes a binary midi file
+ removes part before start time and after end time
+ cut certain channels (1-16)
+ important midi events are copied to start or end of midi song
(e.g. note off at end) to start and end song correctly
[1] BACKGROUND
Sometimes midi files are too large or contain parts that sound worse than
rest. This utility could be used to copy certain parts of a midi song
into a new file.
It needs to specify midi time of two cut points (currently seconds).
Use midifade with option -time to find time values or use a midiplayer that
shows current playing time.
If you only want to cut the pauses at start or end of midi file then
use simplier program miditrim.
By default midicut simply copies the full midi song.
When selecting certain channels this program can also be used to
copy these channels. The result will be a new song playing less channels.
[2] FILES DESCRIPTION
MIDICUT.EXE.........converter program
MIDICUT.DOC.........this file, showing usage of MIDICUT.EXE
MIDIIO.HPP..........header file for a c++ midi parser
MIDIIO.CPP..........source code for a c++ midi parser
MIDICUT.CPP.........c++ source code for modifying midi files
MIDICUT.MAK.........make file for project
MIDICUT.CFG.........compiler options for make
MIDICUT.PRJ.........compiler project for Borland (tm) c++ compilers
only MIDICUT.EXE is required to run program
[3] COPYRIGHT
MIDICUT (c) 1997 was created by Guenter Nagler.
MIDICUT is free and may be used as you wish with this one exception:
You may NOT charge any fee or derive any profit for distribution
of MIDICUT. Thus, you may NOT sell or bundle MIDICUT with any
product in a retail environment (shareware disk distribution, CD-ROM,
etc.) without permission of the author.
You may give MIDICUT to your friends, upload it to a BBS, or ftp it to
another internet site, as long as you don't charge anything for it.
[4] DISCLAIMER
MIDICUT was designed to handle 100% compatible midi files.
It was tested with 600 different midi files but I can not say if
each 100% midi compatible midi file can be correctly converted.
So I give no guarantees of the results, especially with non 100%
compatible midi files.
If you find a midi file that you think to be 100% compatible midi
that is not correctly converted, please send a sample file to
gnagler@ihm.tu-graz.ac.at .
Use MIDICUT at your own risk. Anything you do with MIDICUT is your
responsibility, and not the author's. Any damage caused to any person,
computer, software, hardware, company, or business by running MIDICUT
is your responsibility, and the author will not be liable.
If you don't understand these terms, or are not sure of something, or
are afraid something bad might come of using MIDICUT, don't use it!
You are here forewarned.
[5] INSTALLATION
[MSDOS]
Simply copy MIDICUT.EXE in a directory that is in your path.
When you start the program without arguments
[UNIX]
compile sources with your C++ compiler (e.g. GNU Compiler g++):
g++ -o midicut midicut.cpp midiio.cpp
and run program
$ midicut
C:\> midicut
you should get the usage text (see next section)
[6] USAGE
midicut copies a part of a midi song into a new file
usage: MidiCut [-q][-ch #[-#]][-from #][-till #] file.mid cutfile.mid
-version get program version
-q be quiet
-channel c[-d] copy only selected channels c..d (1-16) to output
-from # start cut at second # (default: 0)
-end # end cut at second # (default: end of song)
The parts in brackets [...] are optional.
Warning:
Do not expect that MIDICUT will produce a copy of the original
file if no changes are applied! MIDI allows to encode its commands
in different ways without changing the semantic of the notes (It
is allowed to compress the midi file by ommiting redunant command
bytes, but it is no duty).
MIDICUT only compresses note on/off command bytes for higher
compatibility.
[8] SUGGESTIONS / COMMENTS / BUG REPORTS / QUESTIONS
WWW: http://hgiicm.tu-graz.ac.at/Cpub
contains all my dos/unix midi programs
EMAIL: gnagler@ihm.tu-graz.ac.at
[9] EXAMPLES
example: cut the part between second 112 and 146 from midi song test.mid
midicut -from 112 -till 146 test.mid testcut.mid
example: all channels except drums (channel 10) from midi song test.mid
midicut -channel 1-9 -channel 11-16 test.mid nodrum.mid